const CompressionWebpackPlugin = require('compression-webpack-plugin')
const isProd = process.env.NODE_ENV === 'development'

module.exports = {
    lintOnSave: false, // 关闭eslint
    pwa: {
        iconPaths: {
          favicon32: 'favicon.ico',
          favicon16: 'favicon.ico',
          appleTouchIcon: 'favicon.ico',
          maskIcon: 'favicon.ico',
          msTileImage: 'favicon.ico'
        }
    },
    devServer:{
        host:"0.0.0.0",  // 0.0.0.0
        port:9000,
        open:true,  // 自动打开浏览器  
        inline:true
    },
    publicPath: './',
    configureWebpack: config => {
        if (isProd) {
            // 配置webpack 压缩
            config.plugins.push(
                new CompressionWebpackPlugin({
                    test: /\.js$|\.html$|\.css$/,
                    // 超过4kb压缩
                    threshold: 4096
                })
            )
        }
    },
    chainWebpack: config => {

    },
    // 不需要生产环境的 source map
    // productionSourceMap: false,
    // publicPath: !isProd ? '/' : '',
    // outputDir: process.env.outputDir,
    css: {
        // 是否将css 提取到独立的文件,生产环境提取，开发环境不提取
        extract: !!isProd,
        // 开发模式开启css sourcemap
        sourceMap: !isProd,
        loaderOptions: {
            css: {},
            postcss: {
              plugins: [
                // 补全css前缀(解决兼容性)
                
                // 把px单位换算成rem单位
                require("postcss-px2rem")({
                    remUnit:37.5,  // VantUI 设计稿尺寸 375 
                    exclude:/node_modules/i
                })
              ]
            }
        }
    },
}